package com.zzh.wechatpay.utils;

import java.security.MessageDigest;
import java.util.UUID;

/**
 * 常用工具类,封装UUID 和MD5
 *
 * @author zzh
 * @date 2019年11月27日
 */
public class CommonUtils {
    /**
     * 生成32位的随机数(替换-)
     *
     * @return
     */
    public static String generateUUID() {
        return UUID.randomUUID().toString().replaceAll("-", "").substring(0, 32);
    }

    /**
     * md5常用工具类
     *
     * @param data 需要加密的字符串
     * @return 加密后(大写)的的字符串
     */
    public static String encryptionMD5(String data) {
        try {
            //获取加密方式为md5的MessageDigest实例
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            //对字符串进行加密
            byte[] array = md5.digest(data.getBytes("UTF-8"));
            StringBuilder sb = new StringBuilder();
            for (byte item : array) {
                sb.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3));
            }
            return sb.toString().toUpperCase();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;

    }
}
